// 入口
import React from "react";
import ReactDOM from "react-dom/client";
import { Provider } from "react-redux";
import { BrowserRouter as Router } from "react-router-dom";

// 引入 store
import store from "./store";

// 默认CRA是没有配置路径别名的。
//    需要自行配置，有两种
//        1. 使用 封印解决 npm run eject
//        2. 使用 一些第三方模块
import App from "@/App";

// 引入 antd 的样式
import "antd/dist/reset.css";
// 引入 自己的全局样式
import "@/global.scss";

ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
  <Router>
    <Provider store={store}>
      <App />
    </Provider>
  </Router>
);

/**
 * 环境变量
 *    获取：
 *        vite    下 使用 import.meta.env
 *        webpack 下 使用 process.env
 *
 * 主要内容：
 *    process.env.NODE_ENV
 *        - development     本地开发环境    npm run start
 *        - production      生产环境        npm run build
 *        - test1
 *        - test2
 *        - stg
 *        - uat
 *        - pre
 *
 * 在 npm 命令的地方去修改环境变量：
 *    window ($env:NODE_ENV = "STG") -and (npm start)
 *    mac    NODE_ENV=STG npm start
 *  问题是，如果小伙伴电脑不一样，这就很麻烦，这时可以通过 cross-env 这个工具来让这个配置统一
 *
 *  cross-env 使用
 *
 *    1. 安装它  npm install cross-env
 *    2. 配置成 cross-env NODE_ENV=STG npm run start
 *
 * 环境变量文件
 *   .env.local
 *   .env.development
 *   .env.production
 *   .env.stg
 *
 *  写在哪儿：直接在项目根目录书写
 *  作用是：  避免在 package.json 文件中写太多的命令
 *
 *      cross-env NODE_ENV=STG NODE_A=a NODE_B=b NODE_C=c npm run start
 */

// console.log(process.env);
// console.log(process.env.NODE_ENV);
